package xyz.bali16.module.netdisk.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.gitee.starblues.annotation.Supplier;
import xyz.bali16.module.netdisk.entity.FileFolder;
import xyz.bali16.module.netdisk.entity.FileUser;
import xyz.bali16.module.netdisk.model.filefolder.FileFolderPageParam;
import xyz.bali16.module.netdisk.model.filestorage.FileStorageAddParam;
import xyz.bali16.module.netdisk.model.filestorage.FileStorageUpdateParam;
import xyz.bali16.module.netdisk.model.fileuser.FileUserAddParam;
import xyz.bali16.module.netdisk.model.fileuser.FileUserPageParam;
import xyz.bali16.module.netdisk.model.fileuser.FileUserUpdateParam;

/**
 * @author bali2 on 31/10/2021.
 * @version 1.0
 */
@Supplier("fileUserService")
public interface FileUserService extends IService<FileUser> {

    IPage<FileUser> getPage(FileUserPageParam param);
    /**
     * 根据认证服务器的用户id获取文件用户
     * @param userId
     * @return
     */
    @Supplier.Method("getFileUserBySysUserId")
    FileUser getFileUserBySysUserId(String userId);

    void add(FileUserAddParam param) throws Exception;

    void update(FileUserUpdateParam param) throws Exception;
    void delete(String fileUserId) throws Exception;
}
